package innova.negocio;

import innova.dao.CriterioCobranzaDAO;
import innova.modelo.CriterioCobranza;

import java.util.Collection;

public class GestionCriterioCobranza {

	private CriterioCobranzaDAO dao = new CriterioCobranzaDAO();
	
	public Collection<CriterioCobranza> buscarPorTitulo(String titulo) throws Exception {
		return dao.buscarPorTitulo(titulo);
	}

	public CriterioCobranza insertar(int idCriterioCobranza,
			int mayorCantidadCriterioCobranza,
			float precioUnitario)
					throws Exception {
		CriterioCobranza vo = new CriterioCobranza();
		vo.setIdCriterioCobranza(idCriterioCobranza);
		vo.setMayorCantidadIdea(mayorCantidadCriterioCobranza);
		vo.setPrecioUnitario(precioUnitario);
		
		return dao.insertar(vo);
	}

	public CriterioCobranza obtener(int idCriterioCobranza) throws Exception {
		return dao.obtener(idCriterioCobranza);
	}

	public void eliminar(int idCriterioCobranza) throws Exception {
		dao.eliminar(idCriterioCobranza);
	}

//	public CriterioCobranza actualizar(int idCriterioCobranza, 
//			String tituloCriterioCobranza, 
//			String descripcionCriterioCobranza, 
//			String palabraClave01, 
//			String palabraClave02, 
//			String palabraClave03, 
//			String palabraClave04, 
//			String archivoCriterioCobranza, 
//			String estadoCriterioCobranza, 
//			Date fechaCreacionCriterioCobranza, 
//			Usuario usuario, 
//			Usuario asesor)
//					throws Exception {
//		CriterioCobranza vo = new CriterioCobranza();
//		vo.setIdCriterioCobranza(idCriterioCobranza);
//		vo.setTituloCriterioCobranza(tituloCriterioCobranza);
//		vo.setDescripcionCriterioCobranza(descripcionCriterioCobranza);
//		vo.setPalabraClave01(palabraClave01);
//		vo.setPalabraClave02(palabraClave02);
//		vo.setPalabraClave03(palabraClave03);
//		vo.setPalabraClave04(palabraClave04);
//		vo.setArchivoCriterioCobranza(archivoCriterioCobranza);
//		vo.setEstadoCriterioCobranza(estadoCriterioCobranza);
//		vo.setFechaCreacionCriterioCobranza(fechaCreacionCriterioCobranza);
//		vo.setUsuario(usuario);
//		vo.setAsesor(asesor);
//
//		return dao.actualizar(vo);
//	}
	
	public Collection<CriterioCobranza> listar() throws Exception {
		return dao.listar();
	}
	
	public float obtenerPrecioUnitarioPorCantidad(int cantidadIdea) throws Exception {
		float precio = 0F;
		
		Collection<CriterioCobranza> lista = listar();
		for(CriterioCobranza item : lista) {
			if(cantidadIdea <= item.getMayorCantidadIdea()) {
				precio = item.getPrecioUnitario();
				break;
			}
		}
		
		return precio;
	}
	
}
